As the use of networked mobiles devices grows, there is a general need for service providers and other third parties to be able to reliably and accurately track the usage patterns of a mobile device. For example, in connection with certain fraud detection methods, it is important to be able to identify the source device used to commit a fraudulent transaction in order to limit future potential fraudulent transactions from the same device. As another example, many advertising and marketing programs must accurately identify the mobile device from which various disparate activities and actions are taken.
Such systems and processes rely upon the ability to consistently and accurately identify the mobile device utilized for participating in such activities. Typically, in order to track various user activities, an application or a service provider may generate a service-specific identifier for each unique user of the application or service. The application will generally include such service-specific identifier along with each request from the mobile device made to the service in order for the service to accurately identify the originating user or mobile device.
The mobile device may be capable of storing and executing multiple applications on the same device, including applications that are developed by third parties. Such third parties may be untrusted or even unknown to the user of the mobile device, and the applications generated thereby may be capable of interfering with other applications executing on the mobile device. For this reason, some mobile device operating systems create a “sandbox” environment for each active application by which the memory, storage and other resources made available to one application are isolated from the memory, storage and resources made available to any other application.
Accordingly, if an application generates and stores a service-specific identifier on an iOS-enabled device, the identifier is stored in the application's “sandbox” environment and no other application on the iOS-enable device may access or use such identifier. As a result, the service-specific identifier is effective only for use by the specific service that generates it, but is not otherwise effective in uniquely identifying the mobile device itself. Further, each application on the mobile device is required to generate and store its own service-specific identifier, which will differ from the identifier utilized by every other application on the same mobile device. Accordingly, there is no reliable process or system for the mobile device itself to be accurately identified and tracked across a plurality of applications and users on the same mobile device.
Thus, a need exists to overcome the service-to-service or application-to-application variances in mobile device identification, and thereby provide a persistent cross-application mobile device identification process and system.